package com.scu.qingshi.facade.domain;

import com.scu.qingshi.common.exception.interview.InterviewException;
import com.scu.qingshi.common.response.BaseResponse;
import com.scu.qingshi.domain.interview.param.*;

import java.text.ParseException;

/**
 * 面试facade
 * @author qingshi
 */
public interface InterviewEditorFacade {

    // 创建面试流程
    public BaseResponse createInterviewProcess(InterCreateRequest req) throws Exception;

    // 新增节点
    public BaseResponse addNode(AddNodeRequest req) throws Exception;

    // 发布面试
    public BaseResponse publishProcess(PublishRequest req) throws InterviewException;

    // 修改面试内容(修改后通知对应应试者)
    public BaseResponse modifyProcess(ModifyProcessRequest req);

    // 修改面试内容(修改后通知对应应试者)
    public BaseResponse modifyNode(ModifyNodeRequest req) throws Exception;

    // 弃用 删除面试节点
//    public BaseResponse deleteNode(DeleteNodeRequest req) throws Exception;

    // 结束面试流
    public BaseResponse closeInterview(CloseInterviewRequest req);

    // 删除节点
    public BaseResponse deleteNode(Integer interId,Integer nodeId) throws InterviewException;

    public BaseResponse update(UpdateInterviewRequest req) throws ParseException;
}
